#pragma once
#include "Config.h"
#include <cstdint>

namespace Rz {

template <typename T>
RZ_INLINE static void Swap(T& v1, T& v2)
{
	T tmp = v1;
	v1 = v2;
	v2 = tmp;
}

typedef ::uint8_t		u8;
typedef ::uint16_t		u16;
typedef ::uint32_t		u32;
typedef ::uint64_t		u64;

typedef ::int8_t		s8;
typedef ::int16_t		s16;
typedef ::int32_t		s32;
typedef ::int64_t		s64;

typedef float			f32;
typedef double			f64;

typedef u8				byte_t;

typedef std::size_t		size_t;
typedef std::ptrdiff_t	ptrdiff_t;

static const size_t NoPosition = static_cast<size_t>(-1);

}
